package com.zczc.tagmanagement.service.impl;

import com.github.pagehelper.PageInfo;
import com.yishuifengxiao.common.tool.bean.BeanUtil;
import com.zczc.tagmanagement.dto.TagDTO;
import com.zczc.tagmanagement.dto.TagSortsDTO;
import com.zczc.tagmanagement.dto.TagUpdateDTO;
import com.zczc.tagmanagement.entity.Tag;
import com.zczc.tagmanagement.service.BaseService;
import com.zczc.tagmanagement.service.TagService;
import com.zczc.tagmanagement.vo.TagVO2;
import java.util.Calendar;
import java.util.List;
import java.util.UUID;
import org.springframework.stereotype.Service;

/**
 * @Author:Mark
 * @Description:
 * @Date: Created on 9:50 2018-12-10
 * @Modify by:
 */
@Service
public class TagServiceImpl extends BaseService implements TagService {



  @Override
  public Boolean addTag(TagDTO tagDTO) {
    if(tagDTO !=null){
      Tag tag = BeanUtil.copy(tagDTO, new Tag());

      tag.setId(UUID.randomUUID().toString());
      tag.setAddTime(Calendar.getInstance().getTime());
      tag.setDeleted(false);
      tag.setDocumentNum(tag.getDocumentNum()==null?0:tag.getDocumentNum());
      tag.setClickNum(tag.getClickNum()==null?0:tag.getClickNum());
     // tag.setParentCode(tag.getParentCode()==null?"111":tag.getParentCode());
      return tagDao.addTag(tag)>0;
    }
    return false;
  }

  @Override
  public Boolean deleteTagLogic(List<String> ids) {
    if(ids!=null){
     return tagDao.deletedTagLogic(ids)>0;
    }
    return false;
  }

  @Override
  public  PageInfo<TagVO2> selectTagsBySrots(TagSortsDTO sortsDTO,Integer pageNum,Integer pageSize) {

    return tagDao.selectTagsBySrots( sortsDTO,pageNum,pageSize);

  }

  @Override
  public Boolean updateTagByIdSelective(TagUpdateDTO tagDTO) {
    Tag tag = BeanUtil.copy(tagDTO, new Tag());
    return tagDao.updateTagsSelective(tag)>0;

  }

  @Override
  public PageInfo<Tag> selectTagsByPage(Tag tag, Integer pageSize, Integer startPage) {
    pageSize=pageSize==null?20:pageSize;
    startPage=startPage==null?1:startPage;
    return tagDao.selectAllTagsByPage(tag,pageSize,startPage);
  }
}
